/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package GestionAlbumes;

import GestionBaseDatos.AdministradorConexion;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author Administrador
 */
public class AlbumDAO {

    private int id;
    private String nombre;
    private String descripcion;
    private int id_usuario;
    private AdministradorConexion ac;

    public AlbumDAO(int id, String nombre, String descripcion, int id_usuario) {
        ac = AdministradorConexion.getInstancia();
        this.id = id;
        this.nombre = nombre;
        this.descripcion = descripcion;
        this.id_usuario = id_usuario;
    }

    public AlbumDAO(String nombre, String descripcion, int id_usuario) {
        this(0, nombre, descripcion, id_usuario);
    }

    public AlbumDAO(int id) {
        this(id, null, null, 0);
    }

    public void eliminar() throws SQLException {
        PreparedStatement ps = ac.preparar("DELETE FROM albumes WHERE id_album = ? LIMIT 1");
        ps.setInt(1, id);
        ps.executeUpdate();
    }

    public void cargar() throws SQLException {
        PreparedStatement ps = ac.preparar("SELECT nombre, descripcion, id_usuario FROM albumes WHERE id_album = ?");
        ps.setInt(1, id);
        if (ps.executeQuery().first()) {
            ResultSet rs = ps.getResultSet();
            nombre = rs.getString("nombre");
            descripcion = rs.getString("descripcion");
            id_usuario = rs.getInt("id_usuario");
        }
    }

    public String getDescripcion() {
        return descripcion;
    }

    public int getId() {
        return id;
    }

    public int getId_usuario() {
        return id_usuario;
    }

    public String getNombre() {
        return nombre;
    }

    public void guardar() throws SQLException {
        PreparedStatement ps;
        if (id == 0) {
            ps = ac.preparar("INSERT INTO albumes (id_album,nombre,descripcion,id_usuario) VALUES (null, ?,?,?)");
            ps.setInt(3, id_usuario);
        } else {
            ps = ac.preparar("UPDATE albumes SET nombre = ?, descripcion = ? WHERE id_album = ?");
            ps.setInt(3, id);
        }
        ps.setString(1, nombre);
        ps.setString(2, descripcion);
        ps.executeUpdate();
    }
}
